<?php
namespace Home\Controller;
use Think\Controller;

/**
 * 主页控制
 */
class IndexController extends Controller {
    //全局变量区
    /**
     * 登录结果变量
     * 0：登录成功
     * 1：没有输入用户名
     * 2：密码错误
     * 3：验证码错误
     */
    public $loginResult_correct = 0;
    public $loginResult_err_no_name = 1;
    public $loginResult_err_password = 2;
    public $loginResult_err_verify = 3;

    /**
     * 加载主页
     */
    public function index(){
        if($_GET['login_box']){
            $login_box = $_GET['login_box'];
            $this->assign('login_box', $login_box);
        }
    	$this->display();
    }

    /**
     * 登录完成返回主页并传递相关信息
     * if_login_failed：登录结果
     * name：用户名
     */
    public function login(){
        // 实例化Login对象
        $login = M('user_table');

        // 自动验证 创建数据集
        if (!$data = $login->create()) {
            // 防止输出中文乱码
            header("Content-type: text/html; charset=utf-8");
            exit($login->getError());
        }
		

        //验证码验证
        $verify = $_POST['verify'];
        if(!checkVerify($verify)){
            $this->assign('if_login_failed', $this->loginResult_err_verify);
        }else{
            // 组合查询条件
            $where = array();
            $where['name'] = $data['name'];
            $result = $login->where($where)->field('id, access, name, password')->find();

            if(!$where['name'])
            {
                $this->assign('if_login_failed', $this->loginResult_err_no_name);
            }else{
                // 验证用户名 对比 密码
                if ($result && $result['password'] == $data['password']) {
                    // 更新用户登录信息
                    $where['last_login_time'] = date("y-m-d H:i:s");
                    
                    //session控制
                    session('id', $result['id']);
                    session('name', $result['name']);
                    session('access', $result['access']);
                    session('password', $result['password']);

                    //向前端传递信息
                    $this->assign('if_login_failed', $this->loginResult_correct);
                    $this->assign('username', $data['name']);
                } else {
                    $this->assign('if_login_failed', $this->loginResult_err_password);
                }
            }
        }

        $this->display('index');
    }

    public function sign_box() {
    	$this->display();
    }
     public function registration()
	{
		$this->display();
	}
	public function regis_return()
	{
		$regis_type=$_GET['regis_type'];
		$error=$_GET['error'];
		
		if($regis_type == 2){
			//注册未成功且信息合格（如数据库表上限已满）
    		$this->assign('regis_type', $regis_type);
			$this->display("registration");
    		
    	}elseif($regis_type == 1){
			//注册信息不符合规则
            $this->assign('regis_type', $regis_type);
            $this->assign('error', $error);
			$this->display("registration");
    		
    	}else{
			//注册成功
			$this->assign('regis_type', $regis_type);
            $this->display('index');
        }
	}

    /**  
     * 验证码生成 
     */  
    public function myVerify(){  
        $Verify = new \Think\Verify();  
        $Verify->fontSize = 18;  
        $Verify->length   = 4;  
        $Verify->useNoise = false;  
        $Verify->codeSet = '0123456789';  
        $Verify->imageW = 130;  
        $Verify->imageH = 50;  
        //$Verify->expire = 600;  
        $Verify->entry();  
    }

    /**
     * 删除session
     */
    public function deleteSession(){
        session(null);
        $this->display('index');
    }
}